package cn.iocoder.yudao.module.ao.controller.admin.SysClass.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

@Schema(description = "管理后台 - 班级信息 Response VO")
@Data
@ExcelIgnoreUnannotated
public class SysClassRespVO {

    @Schema(description = "班级ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "25207")
    @ExcelProperty("班级ID")
    private Long classId;

    @Schema(description = "所属专业ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "27561")
    @ExcelProperty("所属专业ID")
    private Long majorId;

    @Schema(description = "入学学期ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "28915")
    @ExcelProperty("入学学期ID")
    private Long enrollmentTermId;

    @Schema(description = "班级名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
    @ExcelProperty("班级名称")
    private String className;

    @Schema(description = "班级编码", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("班级编码")
    private String classCode;

    @Schema(description = "年级", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("年级")
    private String grade;

    @Schema(description = "班主任ID", example = "9452")
    @ExcelProperty("班主任ID")
    private Long headteacherId;

    @Schema(description = "辅导员ID", example = "24819")
    @ExcelProperty("辅导员ID")
    private Long counselorId;

    @Schema(description = "学生人数", example = "27295")
    @ExcelProperty("学生人数")
    private Integer studentCount;

    @Schema(description = "状态（0在线 1离线 2空闲）", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @ExcelProperty("状态（0在线 1离线 2空闲）")
    private Integer status;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

}